babl: fix overflow detection at end of luts
authorØyvind Kolås <pippin@gimp.org>
Sat, 2 Sep 2017 20:42:05 +0000 (22:42 +0200)
committerØyvind Kolås <pippin@gimp.org>
Sat, 2 Sep 2017 20:42:05 +0000 (22:42 +0200)
babl/babl-trc.c

index 221cf3ab39d7a5176f4e96b191b8286c2ca0097c..3ceb0b1b56fa2fc2f5f51ce21f39617b62339790 100644 (file)
@@ -41,7 +41,7 @@ static inline float babl_trc_lut_from_linear (const Babl *trc_, float x)
   if (entry >= trc->lut_size) entry = trc->lut_size - 1;
   else if (entry < 0) entry = 0;
 
-  if (diff > 0.0 && entry < trc->lut_size)
+  if (diff > 0.0 && entry < trc->lut_size-1)
   {
     ret = trc->inv_lut[entry] * (1.0 - diff) + trc->inv_lut[entry+1] * diff;
   }
@@ -64,7 +64,7 @@ static inline float babl_trc_lut_to_linear (const Babl *trc_, float x)
   if (entry >= trc->lut_size) entry = trc->lut_size - 1;
   else if (entry < 0) entry = 0;
 
-  if (diff > 0.0 && entry < trc->lut_size)
+  if (diff > 0.0 && entry < trc->lut_size - 1)
   {
     ret = trc->lut[entry] * (1.0 - diff) + trc->lut[entry+1] * diff;
   }